Get Master Products
Method: GET
/products
As a Customer of iFoodDS, you can use the Get Master Products API to query master products from the iFoodDS Trace Exchange platform.
info
This endpoint is being refined and thus subject to change. These docs will update when changes are made.
Request
Type: application/json
Retrieving master products via the API is done through paging. The request requires a series of query parameters which define the page that must be returned. These parameters must be supplied in the url when the get is executed in order to return the result set for the page being queried.
Query Parameters
Optional
page
(number): The page index of the events to return. The first page is index 0.size
(number): The number of results to return per page. Default value is 20.submitStartDateTime
(datetime): Filters results to include only events submitted after the specified date and time.submitEndDateTime
(datetime): Filters results to include only events submitted before the specified date and time.
Data Constraints
Please note the following data constraints:
datetimes
must use the format:yyyy-MM-ddTHH:mm:ss
Response
- 200
- 400
Return result for the master products queried.
{
"content": [
{
"id": "<event id>",
"itemCode": "<vendor item code>",
"alternateItemCode": "<alternate item code>",
"itemDescription": "<vendor item description>",
"gtin": "<gtin>",
"itemUpc": "<item upc>",
"innerPackUpc": "<inner pack upc>",
"plu": "<plu>",
"isFtlItem": <is ftl item>,
"ftlCategory": "<ftl category>",
"isCoveredByGdst": <is covered by gdst>,
"brandName": "<brand name>",
"packStyle": "<pack style>",
"packSize": "<pack size>",
"productCommodity": "<product commodity>",
"productVariety": "<product variety>",
"scientificName": "<scientific name>",
"acceptableSpeciesName": "<acceptable species name>"
}
],
"pageable": {
"pageNumber": <page number>,
"pageSize": <page size>,
"sort": {
"unsorted": <is unsorted>,
"sorted": <is sorted>,
"empty": <is page empty>
},
"offset": <offset size>,
"unpaged": <is unpaged>,
"paged": <is paged>
},
"totalPages": <total pages>,
"totalElements": <total elements>,
"last": <is last page>,
"numberOfElements": <number of elements>,
"size": <page size>,
"number": <page number>,
"sort": {
"unsorted": <is unsorted>,
"sorted": <is sorted>,
"empty": <is empty>
},
"first": <is first page>,
"empty": <is page empty>
}
Content
id
(uuid): The id of the master productitemCode
(string): The product's item codealternateItemCode
(string): The product's alternate item codeitemDescription
(string): Product Description for the itemgtin
(string): Case-level Global Trade Identification Number (GTIN-14). https://www.gs1.org/docs/idkeys/GS1_GTIN_Executive_Summary.pdfitemUpc
(string): Item-level Universal Product Code, may be GTIN-8, GTIN-12, or GTIN-13. GS1 GTIN Executive SummaryinnerPackUpc
(string): Point of sale barcode, may be GTIN-8, GTIN-12, GTIN-13, or GTIN-14. GS1 GTIN Executive Summaryplu
(string): Item-level Price Look-up Code. PLU Codes Search — IFPSisFtlItem
(boolean): Indicates whether product is on the Food Traceability List (FTL)ftlCategory
(string)*: Indicates the product's FTL category, i.e. “soft cheese”, “shell eggs”, “nut butter”, “cucumbers”, “herbs”, “leafy greens”, “melons”, “peppers”, “sprouts”, “tomatoes”, “tropical tree fruits”, “fresh-cut fruits”, “fresh-cut vegetables”, “finfish”, “smoked finfish”, “crustaceans”, “molluscan shellfish”, “ready-to-eat deli salads”, or “multiple-ftl-ingredients” *Required if on the FTLisCoveredByGdst
(boolean): Indicate if the product is part of GDSTbrandName
(string): The brand of the product that appears on the consumer packagepackStyle
(string): Product's pack style, e.g. "Case", "Carton", "Tray", "Clamshell", etc.packSize
(string): Product's pack size as Packaging Configuration OR Count OR Weight + Unit of Measure, e.g. "20 x 12 oz bags"productCommodity
(string): For fresh produce, the description of the commodity, e.g. "Peppers"productVariety
(string): For fresh produce, the description of the variety, e.g. "Jalapeno"scientificName
(string): For seafood, the scientific name of the species, see: FDA Seafood ListacceptableSpeciesName
(string): For seafood, a description of the common species name, see: FDA Seafood List
Pageable
pageable
(object)pageNumber
(number): The current page number in the page series. Index 0 is first pagepageSize
(number): The number of events contained in the pageoffset
(number): If there is an offset specified on there return results this will be populates. Default is 0unpaged
(boolean): If the record set is unpaged then true else falsepaged
(boolean): If the record set is paged then true else falsesort
(object)unsorted
(boolean): If the record set is unsorted then true else falsesorted
(boolean): If the record set is sorted then true else falseempty
(boolean): If the record set is empty then true else false
totalPages
(number): The total amount of pages that contain all events in the querytotalElements
(number): The total amount of events in the querylast
(boolean): If the page is the last in the series then true else falsenumberOfElements
(number): The total amount of events in the tablesize
(number): The number of events contained in the pagenumber
(number): The current page number in the page seriessort
(object)unsorted
(boolean): If the record set is unsorted then true else falsesorted
(boolean): If the record set is sorted then true else falseempty
(boolean): If the record set is empty then true else false
first
(boolean): If the page is the first in the series then true else falseempty
(boolean): If the page is empty then true else false
Description of what user-fixable validation error occurred and in what part of the payload
{
"timestamp": "2024-12-08T20:47:54.096+00:00",
"status": 400,
"error": "Bad Request",
"message": "<error description>"
}